﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace FrbaCommerce
{
    public partial class frm_cambiarContrasenia : Form
    {
        Decimal idUsuario;

        public frm_cambiarContrasenia()
        {
            InitializeComponent();
            this.idUsuario = BaseDeDatos.Instance.idUsuario;
        }

        public frm_cambiarContrasenia(Decimal idUsuario)
        {
            InitializeComponent();
            this.idUsuario = idUsuario;
        }

        private void frm_cambiarContrasenia_Load(object sender, EventArgs e)
        {

        }

        private void btn_guardar_Click(object sender, EventArgs e)
        {
            if ((txt_contrasenia.Text != "") & (txt_repetirContrasenia.Text != "") & (txt_contrasenia.Text == txt_repetirContrasenia.Text))
            {
                BaseDeDatos baseDeDatos = BaseDeDatos.Instance;
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.CommandText = "SELECT USERNAME FROM LOS_GDDES.USUARIOS " +
                                         "WHERE ID_USUARIO = " + this.idUsuario.ToString();
                sqlCommand.CommandType = CommandType.Text;
                string nombreUsuario = baseDeDatos.consulta(sqlCommand).Rows[0].Field<string>("USERNAME");

                sqlCommand.CommandText = "LOS_GDDES.SP_MODIFICAR_USUARIO";
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.Parameters.AddWithValue("@id_usuario", this.idUsuario);
                sqlCommand.Parameters.AddWithValue("@username", nombreUsuario);
                string contraseniaEncriptada = Encriptar.SHA256(txt_contrasenia.Text);
                sqlCommand.Parameters.AddWithValue("@password", contraseniaEncriptada);
                baseDeDatos.ejecuta(sqlCommand);

                this.Close();
            }
            else
            {
                MessageBox.Show("Error: las contraseñas no coinciden.");
            }
        }

        private void btn_cancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}